function createLines (viewer) {
  const beijingLines = getData().beijingLines
  // 材质
  var vertexShaderSource =
    'attribute vec3 position3DHigh;\n' +
    'attribute vec3 position3DLow;\n' +
    'attribute vec4 color;\n' +
    'attribute float batchId;\n' +
    'varying vec4 v_color;\n' +
    'varying float v_batchId;\n' +
    'void main()\n' +
    '{\n' +
    '    vec4 p = czm_computePosition();\n' +
    '    v_color = color;\n' +
    '    v_batchId = batchId;\n' +
    '    gl_Position = czm_modelViewProjection * p;\n' +
    '}\n';

  var fragmentShaderSource =
    'uniform vec4 u_color;\n' +
    'uniform float u_speed;\n' +
    'uniform float u_frequency;\n' +
    'varying vec4 v_color;\n' +
    'varying float v_batchId;\n' +
    'void main()\n' +
    '{\n' +
    '    float time = czm_frameNumber * u_speed;\n' +
    '    float offset = v_batchId * 100.0;\n' +
    '    float wave = sin((gl_FragCoord.x + offset) / u_frequency + time);\n' +
    '    gl_FragColor = v_color * vec4(0.2 + 0.8 * wave, 0.2 + 0.8 * wave, 0.2 + 0.8 * wave, 1.0);\n' +
    '}\n';

  var shaderProgram = new Cesium.ShaderProgram({
    vertexShaderSource: vertexShaderSource,
    fragmentShaderSource: fragmentShaderSource,
    attributeLocations: {
      position3DHigh: 0,
      position3DLow: 1,
      color: 2,
      batchId: 3
    }
  });

  var material = new Cesium.Material({
    fabric: {
      type: 'PolylineFlow',
      uniforms: {
        u_color: Cesium.Color.fromCssColorString('#00FFFF'),
        u_speed: 0.02,
        u_frequency: 30.0
      }
    },
    shaderSource: shaderProgram
  })

  // 渲染线网
  beijingLines.forEach(item => {
    const coords = item.coords
    let degreesArray = []
    coords.forEach(item => {
      const gcj02Item = bd09togcj02(item[0], item[1])
      const wgs84Item = gcj02towgs84(gcj02Item[0], gcj02Item[1])
      degreesArray.push(wgs84Item[0], wgs84Item[1], 4)
    })
    const polyline = viewer.entities.add({
      name : 'aGlowLine',
      polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights(degreesArray),
        width : 1,
        // material: material
        material: new Cesium.LineFlickerMaterialProperty({
          color: Cesium.Color.RED,
          // 设置随机变化速度
          speed: 20 * Math.random()
        })
        // material : new Cesium.PolylineGlowMaterialProperty({
        //   glowPower : 0.1,
        //   color : Cesium.Color.BLUE.withAlpha(0.1),
        // })
      }
    })
  })
}